home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-12-02 | 2.9 KB | 141 lines | [TEXT/CWIE] |
- #include "StringUtils.h"
-
- #include <string.h>
-
- //------------------------------------------------------------------------------
-
- StringPtr pstrcpy(StringPtr dst, ConstStr255Param src, int maxlen)
- {
- int len = src[0];
-
- if (len > maxlen)
- len = maxlen;
-
- BlockMoveData(&src[0], &dst[0], len + 1);
-
- return dst;
- }
-
- //------------------------------------------------------------------------------
-
- char* pcstrcpy(char* dst, ConstStr255Param src, int maxlen)
- {
- int len = src[0];
-
- if (len > maxlen)
- len = maxlen;
-
- if (len > 0)
- BlockMoveData(&src[1], &dst[0], len);
-
- dst[len] = '\0';
- return dst;
- }
-
- //------------------------------------------------------------------------------
-
- StringPtr cpstrcpy(StringPtr dst, const char* src, int maxlen)
- {
- int len = strlen(src);
-
- if (len > maxlen)
- len = maxlen;
-
- if (len > 0)
- BlockMoveData(src, &dst[1], len);
-
- dst[0] = (Byte) len;
-
- return dst;
- }
-
- //------------------------------------------------------------------------------
-
- StringPtr pstrcat(StringPtr dst, ConstStr255Param src, int maxlen)
- {
- int srclen = src[0];
- int dstlen = dst[0];
-
- maxlen -= dst[0];
-
- if (srclen > maxlen)
- srclen = maxlen;
-
- if (srclen > 0)
- BlockMoveData(&src[1], &dst[dstlen+1], srclen);
-
- dst[0] = (Byte) (srclen+dstlen);
-
- return dst;
- }
-
- //------------------------------------------------------------------------------
-
- char* pcstrcat(char* dst, ConstStr255Param src, int maxlen)
- {
- int srclen = src[0];
- int dstlen = strlen(dst);
-
- maxlen -= dstlen; // not dst[0] -- dbt 1/9/96
-
- if (srclen > maxlen)
- srclen = maxlen;
-
- if (srclen > 0)
- BlockMoveData(&src[1], &dst[dstlen], srclen);
-
- dst[srclen+dstlen] = '\0';
-
- return dst;
- }
-
- //------------------------------------------------------------------------------
-
- StringPtr cpstrcat(StringPtr dst, const char* src, int maxlen)
- {
- int srclen = strlen(src);
- int dstlen = dst[0];
-
- maxlen -= dst[0];
-
- if (srclen > maxlen)
- srclen = maxlen;
-
- if (srclen > 0)
- BlockMoveData(src, &dst[dstlen+1], srclen);
-
- dst[0] = (Byte) (srclen+dstlen);
-
- return dst;
- }
-
- //------------------------------------------------------------------------------
-
- int stricmp(const char* strA, const char* strB, bool caseSens, bool diacSens)
- {
- Str255 a; Str255 b;
-
- return RelString(cpstrcpy(a, strA), cpstrcpy(b, strB), caseSens, diacSens);
- }
-
- //------------------------------------------------------------------------------
-
- int pcstricmp(ConstStr255Param strA, const char* strB, bool caseSens, bool diacSens)
- {
- Str255 b;
-
- return RelString(strA, cpstrcpy(b, strB), caseSens, diacSens);
- }
-
- //------------------------------------------------------------------------------
- /*
- int cpstricmp(const char* strA, ConstStr255Param strB, bool caseSens, bool diacSens)
- {
- Str255 a;
-
- return RelString(cpstrcpy(a, strA), strB, caseSens, diacSens);
- }
- */
- //------------------------------------------------------------------------------
-
-